{"remainingRequest":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/src/components/modulesDetail/ViewColumn.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/src/components/modulesDetail/ViewColumn.vue","mtime":1701674859503},{"path":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/node_modules/babel-loader/lib/index.js","mtime":1701674874357},{"path":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/node_modules/cache-loader/dist/cjs.js","mtime":1701674874584},{"path":"/data/jenkins/workspace/test-v5in-source-front-01/src/badp-bcxin-5.x/obpm-designer-web/node_modules/vue-loader/lib/index.js","mtime":1701674874903}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport { getLogoPrefixUrl } from '@/service/CommontoolsAPI.js'\nimport { getFieldData } from '@/service/FormApi.js'\nimport ViewColumnDialog from '@/components/modulesDetail/ViewColumnDialog'\nimport TransferSelect from '@/components/Common/transfer_select'\nimport {\n getViewColumns,\n saveBatchColumnsView,\n deleteColumnsView,\n getViewColumnsData,\n updateColumnOrder,\n} from '@/service/ViewApi.js'\nimport {delMsg} from '@/utils/elementui'\nexport default {\n name: 'ViewColumn',\n props: {\n viewId: String,\n moduleId: String,\n },\n components: {\n TransferSelect,\n ViewColumnDialog,\n },\n data() {\n return {\n tableHeight:\n document.documentElement.clientHeight - 60 - 32 - 41 - 50 - 32 - 48, //60 头部, 32 面包屑, 41 第一层页签, 48操作列操作栏, 50 第二层页签, 20 下方按钮\n listTableData: [], //列模块的数据\n dialogListVisible: false, //新建编辑列的\n batchAddFieldOptions: [], // 批量编辑的表单数据\n listFrom: {\n //新建列的表单\n name: '', //列名称\n width: '', //列宽\n multiLanguageLabel: '', //多语言标签\n type: 'COLUMN_TYPE_FIELD', //类型\n showType: '01', //值类型\n formid: '', //表单\n fieldName: '', //表单字段\n isOrderByField: 'false', //默认排序\n sortStandard: '00', //排序根据--选择\n orderType: 'ASC', //排序根据--排序\n valueScript: '', // 值脚本\n buttonName: '', // 名称\n buttonType: '00', // 操作类型\n templateForm: '', // 模板表单\n icon: '', // 图标\n showAsLabel: false, // 是否显示标签\n isFilter:false,//是否筛选列\n showAsButton: false, // 是否显示按钮\n flowReturnCss: false, //流程回退标识\n imageName: '', //标识图像\n fontColor: '', //字体颜色\n sum: false, //当前页小计\n total: false, //总计\n visible: true, //视图页面可见\n visible4ExpExcel: true, //Excel导出显示\n visible4PagePrint: true, //网页打印显示\n showIcon: false, // 按图标显示\n iconMapping: '', // 按图标显示【值和图标地址】\n iconSelectCheck: false, // 显示选择图标弹窗,\n showMoon: false, // 是否在月视图中显示\n icons: [\n {\n iconValue: '',\n imgUrl: '',\n },\n ],\n actionScript: '', // 动作执行脚本\n beforeScript: '', // 动作执行前脚本\n hiddenScript: '', //隐藏条件\n mappingField: '', //映射字段\n orderno: '', // 排序\n dispatcherParams: [\n // 参数\n {\n paramKey: '',\n paramValue: '',\n },\n ],\n mappingform: '', // 映射的目标表单\n jumpMapping: '', // 跳转映射的参数\n },\n listFromColumnId: '', // 当前列获取到columnId\n listFormIconsIndex: '', // 列按图标显示点击第几个添加图标按钮\n activeNameList: 'basicList', //列标签切换\n isBasicList: true, //列标签基本\n isFormat: false, //列标签格式\n dialogListFromTiTle: '', // 列弹出层标题\n\n viewOptions: [], // 视图数组\n fieldNameOptions: [], //表单字段\n formatList: {\n formatType: 'simple', //类型\n displayType: '00', //显示文字方式\n displayLength: '', //显示文字长度\n showTitle: true, //显示提示文字\n decimalsNum: '1', //数值小数位\n decimalsCurr: '1', //货币小数位\n\n thouSign: false, //千位分隔符\n currType: 'zh_CN', //货币类型\n fontSize: '12', //大小\n color: 'rgba(0, 0, 0, 1)',\n groundColor: null,\n },\n transferVisible: false, // 批量创建弹窗\n }\n },\n methods: {\n /**\n * 新建列\n */\n create() {\n this.intViewColumnData()\n this.dialogListVisible = true\n this.dialogListFromTiTle = this.$t('form.new')\n },\n\n /**\n * 视图列批量创建弹窗\n */\n batchAddList() {\n this.getListFormData()\n this.transferVisible = true\n },\n\n /**\n * 批量新建弹窗关闭\n */\n closeTransferDialog() {\n this.transferVisible = false\n },\n /**\n * 批量新建\n */\n addBatchColumnsView(arr) {\n // 获取每个id的详情\n let aa = false//标识(视图-列)里的列名称是否和arr里的name一样\n let params = {\n appId: sessionStorage.getItem('appId'),\n moduleId: this.moduleId,\n viewId: this.viewId,\n }\n let batchViewColumnsArr = []\n let length\n if(this.listTableData.length == 0){\n length = this.listTableData.length\n }else{\n length = this.listTableData[this.listTableData.length - 1].orderno\n }\n\n // 取出对象遍历添加\n if( length === 0 ) {\n arr.map((item) => {\n let listFrom = {\n name: item.discript ? item.discript : item.name, //列名称\n width: '', //列宽\n multiLanguageLabel: '', //多语言标签\n type: 'COLUMN_TYPE_FIELD', //类型\n showType: '01', //值类型\n formid: this.$store.state.currentDataSourcesOption.relatedForm, //表单\n fieldName: item.discript ? item.discript : item.name, //表单字段\n isOrderByField: 'false', //默认排序\n sortStandard: '00', //排序根据--选择\n orderType: 'ASC', //排序根据--排序\n showAsLabel: false, // 是否显示标签\n isFilter:false,//是否筛选列\n showAsButton: false, // 是否显示按钮\n flowReturnCss: false, //流程回退标识\n imageName: '', //标识图像\n fontColor: '', //字体颜色\n sum: false, //当前页小计\n total: false, //总计\n visible: true, //视图页面可见\n visible4ExpExcel: true, //Excel导出显示\n visible4PagePrint: true, //网页打印显示\n actionScript: '', // 动作执行脚本\n beforescript: '', // 动作执行前脚本\n hiddenScript: '', //隐藏条件\n mappingField: '', //映射字段\n showMoon: false, // 是否在月视图中显示\n orderno: ++length,\n }\n batchViewColumnsArr.push(listFrom)\n })\n }else {\n arr.map((item) => {\n //for循环是判断批量创建的时候视图-列 里面是否有列名称和arr里item.name一样\n let fieldName = item.discript ? item.discript : item.name//列名称\n for(let i = 0;i < this.listTableData.length; i ++) {\n if(fieldName === this.listTableData[i].name) {\n aa = true\n }\n }\n if (aa === true) {\n // 计算名称加1\n let index = 1\n this.listTableData.forEach((elm) => {\n let exp = new RegExp(eval('/' + fieldName + '_[0-9]*' + '/'))\n if (elm.name.search(exp) != -1) {\n // 证明存在值\n index++\n }\n })\n fieldName = fieldName + '_' + index\n }\n let listFrom = {\n name: fieldName, //列名称\n width: '', //列宽\n multiLanguageLabel: '', //多语言标签\n type: 'COLUMN_TYPE_FIELD', //类型\n showType: '01', //值类型\n formid: this.$store.state.currentDataSourcesOption.relatedForm, //表单\n fieldName: item.name, //表单字段\n isOrderByField: 'false', //默认排序\n sortStandard: '00', //排序根据--选择\n orderType: 'ASC', //排序根据--排序\n showAsLabel: false, // 是否显示标签\n isFilter:false,//是否筛选列\n showAsButton: false, // 是否显示按钮\n flowReturnCss: false, //流程回退标识\n imageName: '', //标识图像\n fontColor: '', //字体颜色\n sum: false, //当前页小计\n total: false, //总计\n visible: true, //视图页面可见\n visible4ExpExcel: true, //Excel导出显示\n visible4PagePrint: true, //网页打印显示\n actionScript: '', // 动作执行脚本\n beforescript: '', // 动作执行前脚本\n hiddenScript: '', //隐藏条件\n mappingField: '', //映射字段\n showMoon: false, // 是否在月视图中显示\n orderno: ++length,\n }\n batchViewColumnsArr.push(listFrom)\n })\n }\n \n saveBatchColumnsView(params, batchViewColumnsArr, {\n onSucess: (response) => {\n if (response.data.errcode == 0) {\n this.$message({\n message: this.$t('msg.ss'),\n type: 'success',\n })\n this.transferVisible = false\n this.columnsList(this.viewId)\n this.$refs.transferSelect.rightData = []\n }\n },\n })\n },\n\n /**\n * 视图列编辑数据回显\n */\n onRowClick(row) {\n this.dialogListVisible = true\n this.listFromColumnId = row.id\n getViewColumnsData(row.id, {\n onSucess: (response) => {\n if (response.data.errcode == 0) {\n let data = response.data.data\n // 清空数组中的空值\n this.listFrom.dispatcherParams = []\n let listFrom = {\n ...this.listFrom,\n orderno: row.orderno, // 排序\n name: data.name, //列名称\n width: data.width ? data.width : '', //列宽\n multiLanguageLabel: data.multiLanguageLabel\n ? data.multiLanguageLabel\n : '', //多语言标签\n type: data.type, //类型\n showType: data.showType, //值类型\n formid: data.formid, //表单\n fieldName: data.fieldName ? data.fieldName : '', //表单字段\n icon: data.icon\n ? (data.customIcon?this.getUrl('/upload'+data.icon).replace('designer',''):this.getUrl(data.icon).replace('designer', ''))\n : '',\n isOrderByField: data.isOrderByField\n ? data.isOrderByField\n : 'false', //默认排序\n sortStandard: data.sortStandard ? data.sortStandard : '00', //排序根据--选择\n orderType: data.orderType ? data.orderType : 'ASC', //排序根据--排序\n valueScript: data.valueScript ? data.valueScript : '', // 值脚本\n buttonName: data.buttonName ? data.buttonName : '', // 名称\n buttonType: data.buttonType ? data.buttonType : '00', // 操作类型\n templateForm: data.templateForm ? data.templateForm : '', // 模板表单\n showAsLabel: data.showAsLabel ? data.showAsLabel : false, // 是否显示标签\n isFilter:data.isFilter?data.isFilter:false,//是否筛选列\n showAsButton: data.showAsButton ? data.showAsButton : false, // 是否显示按钮\n flowReturnCss: data.flowReturnCss ? data.flowReturnCss : false, //流程回退标识\n imageName: data.imageName ? data.imageName : '', //标识图像\n fontColor: data.fontColor ? data.fontColor : '', //字体颜色\n sum: data.sum ? data.sum : false, //当前页小计\n total: data.total ? data.total : false, //总计\n visible: data.visible, //视图页面可见\n visible4ExpExcel: data.visible4ExpExcel, //Excel导出显示\n visible4PagePrint: data.visible4PagePrint, //网页打印显示\n showIcon: data.showIcon, // 按图标显示\n iconMapping: data.iconMapping || '', // 按图标显示【值和图标地址】\n icons: [],\n actionScript: data.actionScript ? data.actionScript : '', // 动作执行脚本\n beforeScript: data.beforeScript ? data.beforeScript : '', // 动作执行前脚本\n hiddenScript: data.hiddenScript ? data.hiddenScript : '', //隐藏条件\n mappingField: data.mappingField ? data.mappingField : '', //映射字段【判断视图列的映射字段是否需要清空】\n mappingform: data.mappingform ? data.mappingform : '', // 目标表单\n jumpMapping: data.jumpMapping\n ? this.formatJumpMapping(\n data.jumpMapping,\n this.listFrom.dispatcherParams\n )\n : [], // 跳转参数\n showMoon: data.showMoon, // 是否在月视图中显示\n }\n let formatList = {\n formatType: data.formatType ? data.formatType : 'simple', //类型\n displayType: data.displayType ? data.displayType : '00', //显示文字方式\n displayLength:\n data.displayLength && data.displayLength != '-1'\n ? data.displayLength\n : '', //显示文字长度\n showTitle: data.showTitle, //显示提示文字\n decimalsNum: data.decimalsNum ? data.decimalsNum : '1', //数值小数位\n decimalsCurr: data.decimalsCurr ? data.decimalsCurr : '1', //货币小数位\n thouSign: data.thouSign ? data.thouSign : false, //千位分隔符\n currType: data.currType ? data.currType : 'zh_CN', //货币类型\n fontSize: data.fontSize ? data.fontSize : '12', //大小\n color: data.color,\n groundColor: data.groundColor,\n }\n\n // 调用表单字段接口\n if (data.formid) {\n this.$refs.viewList.fromChange(data.formid)\n }\n // 字符串图标转为数组图标\n if (listFrom.iconMapping) {\n this.formatIcons(listFrom.iconMapping, listFrom.icons)\n }\n this.listFrom = listFrom\n this.formatList = formatList\n // 判断模板表单是否存在值\n if (data.templateForm) {\n this.getTemplateFormList()\n }\n }\n },\n })\n this.dialogListFromTiTle = this.$t('form.edit')\n },\n\n /**\n * 操作列中的表单项数据\n */\n getListFormData() {\n getFieldData(this.$store.state.currentDataSourcesOption.relatedForm, {\n onSucess: (response) => {\n if (response.data.errcode == 0) {\n let data = response.data.data\n let tempArr = []\n data.map((item) => {\n // 穿梭框需要用key和label\n if(item.type){\n tempArr.push({\n ...item,\n key: item.id,\n label: item.discript ? item.discript : item.name\n })\n }\n })\n this.batchAddFieldOptions = tempArr\n }\n },\n })\n },\n\n /**\n * 格式化按图标显示的值【str2arr】\n */\n formatIcons(targetStr, targetArr) {\n let arr = targetStr.split(';')\n let newArr = []\n arr.forEach((item) => {\n newArr = item.split(':')\n targetArr.push({\n iconValue: newArr[0],\n imgUrl: newArr[1],\n })\n })\n },\n /**\n * 格式化映射参数【str2arr】\n */\n formatJumpMapping(targetStr, targetArr) {\n let arr = targetStr.split(';')\n let newArr = []\n arr.forEach((item) => {\n newArr = item.split(':')\n targetArr.push({\n paramKey: newArr[0],\n paramValue: newArr[1],\n })\n })\n },\n\n /**\n * 关闭弹窗重置listfrom\n */\n resetListFromData(val) {\n this.listFrom = val\n this.listFromColumnId = ''\n },\n\n /**\n * 上移\n */\n moveUp(index) {\n var that = this\n // 保存下一条数据\n let upDate = that.listTableData[index - 1]\n // 删除下一条数据\n that.listTableData.splice(index - 1, 1)\n // 增添被删除的那一条数据\n that.listTableData.splice(index, 0, upDate)\n this.changeColumnOrder(\n that.listTableData[index - 1].id,\n that.listTableData[index].id\n )\n },\n\n /**\n * 下移\n */\n moveDown(index) {\n var that = this\n // 保存下一条数据\n let downDate = that.listTableData[index + 1]\n // 删除下一条数据\n that.listTableData.splice(index + 1, 1)\n // 增添被删除的那一条数据\n that.listTableData.splice(index, 0, downDate)\n this.changeColumnOrder(\n that.listTableData[index].id,\n that.listTableData[index + 1].id\n )\n },\n\n /**\n * 移除列的数据\n */\n async deleteList(val) {\n if (val) {\n try{\n await delMsg(this.$t('msg.delConfirm'), this.$t('msg.tip'))\n const response = await deleteColumnsView([val])\n if (response.data.errcode == 0) {\n this.$message.success(this.$t('msg.del_ss'));\n this.columnsList(this.viewId)\n }\n }catch(e){\n console.log(e)\n }\n }\n },\n\n /**\n * 列排序\n */\n changeColumnOrder(oId, nId) {\n updateColumnOrder(oId, nId, {\n onSucess: (response) => {\n if (response.data.errcode == 0) {\n this.$message.success(response.data.data)\n }\n },\n })\n },\n\n /**\n * 上传图标的文件夹地址\n */\n getUrl(url) {\n return getLogoPrefixUrl(url)\n },\n\n /**\n * 获取列列表数据\n */\n async columnsList(viewId) {\n let response =await getViewColumns(viewId)\n this.listTableData = response.data.data ? response.data.data : []\n },\n\n /**\n * 用于初始化的数据\n */\n intViewColumnData(){\n let neworderno = this.listTableData.length==0?0:this.listTableData[this.listTableData.length - 1].orderno+1;\n let listFrom = {\n ...this.listFrom,\n name: '', //列名称\n width: '', //列宽\n multiLanguageLabel: '', //多语言标签\n type: 'COLUMN_TYPE_FIELD', //类型\n showType: '01', //值类型\n formid: '', //表单\n icon: '', // 图标\n fieldName: '', //表单字段\n isOrderByField: 'false', //默认排序\n sortStandard: '00', //排序根据--选择\n orderType: 'ASC', //排序根据--排序\n showAsLabel: false, // 是否显示标签\n isFilter:false,//是否筛选列\n showAsButton: false, // 是否显示按钮\n flowReturnCss: false, //流程回退标识\n imageName: '', //标识图像\n fontColor: '', //字体颜色\n sum: false, //当前页小计\n total: false, //总计\n visible: true, //视图页面可见\n visible4ExpExcel: true, //Excel导出显示\n visible4PagePrint: true, //网页打印显示\n showIcon: false, // 按图标显示\n iconMapping: '', // 按图标显示【值和图标地址】\n iconSelectCheck: false, // 显示选择图标弹窗,\n icons: [\n {\n iconValue: '',\n imgUrl: '',\n },\n ],\n actionScript: '', // 动作执行脚本\n beforeScript: '', // 动作执行前脚本\n hiddenScript: '', //隐藏条件\n mappingField: '', //映射字段\n showMoon: false, // 是否在月视图中显示\n orderno: neworderno, //排序号\n mappingform: '', // 目标表单\n dispatcherParams: [\n {\n paramKey: '',\n paramValue: '',\n },\n ], // 参数\n jumpMapping: '', // 跳转参数\n buttonName: '', // 名称\n buttonType: '00', // 操作类型\n templateForm: '', // 模板表单\n valueScript: '', // 值脚本\n }\n let formatList = {\n formatType: 'simple', //类型\n displayType: '00', //显示文字方式\n displayLength: '', //显示文字长度\n showTitle: true, //显示提示文字\n decimalsNum: '1', //数值小数位\n decimalsCurr: '1', //货币小数位\n thouSign: false, //千位分隔符\n currType: 'zh_CN', //货币类型\n fontSize: '12', //大小\n color: 'rgba(0, 0, 0, 1)',\n groundColor: null,\n }\n this.listFrom = listFrom\n this.formatList = formatList\n },\n },\n mounted() {\n this.columnsList(this.viewId)\n },\n computed: {\n /**\n * 计算视图列高度\n */\n listTableHeight() {\n if ((this.listTableData.length + 1) * 53 > this.tableHeight) {\n return this.tableHeight\n } else {\n return (this.listTableData.length + 1) * 53\n }\n },\n },\n}\n",null]}