@utogether/utils 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/su-utils.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"su-utils.es.js","sources":["../src/lib/render.tsx"],"sourcesContent":["/*\r\n * @Author: wei.li\r\n * @Date: 2021-12-01 09:18:50\r\n * @LastEditors: wei.li\r\n * @LastEditTime: 2022-06-30 10:08:46\r\n * @Description: file content\r\n */\r\n\r\nimport { useI18n } from 'vue-i18n';\r\nimport { inject } from 'vue';\r\n// import serviceApi from '/@/api';\r\n// import { useSystemStoreHook } from '/@/store/modules/system';\r\nimport { isArray, toStringJSON } from 'xe-utils';\r\nimport { VXETable, FormItemRenderOptions, FormItemContentRenderParams, VxeColumnPropTypes } from 'vxe-table';\r\n\r\n// const systemStoreHook = useSystemStoreHook();\r\n\r\nconst serviceApi: Function = inject('serviceApi')\r\n\r\n// form render\r\nVXETable.renderer.add('#SuSelect', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false } = props;\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, { [fetchField]: query });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n res && options.push(...res.list);\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(val, item, data, property);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.clear && events.clear({ data, property });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n placeholder=\"请录入关键字搜索\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 时间范围\r\nVXETable.renderer.add('#SuDateRange', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { props } = renderOpts;\r\n const { t } = useI18n();\r\n return [\r\n <el-date-picker\r\n v-model={data[property]}\r\n type={props?.type || 'daterange'}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n range-separator={t('message.to')}\r\n start-placeholder={t('message.startDate')}\r\n end-placeholder={t('message.endDate')}\r\n />\r\n ];\r\n }\r\n});\r\n// table Col\r\nVXETable.renderer.add('#SuColSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\nVXETable.renderer.add('#SuSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n \r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n if (props.multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n\r\n function onChange(val) {\r\n const item = val && options.find(option => val === option[value]);\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n filterable\r\n clearable\r\n {...props}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option\r\n key={item[value]}\r\n label={item[extLabel] ? item[value] : item[label]}\r\n value={item[value]}\r\n >\r\n <span style=\"float: left\">\r\n {extLabel && item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props, options, optionProps } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { textValue } = props;\r\n let val = row[column.field];\r\n const item = options.find(opt => opt[value] === val);\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (item) {\r\n val = extLabel ? item[value] : item[label];\r\n }\r\n if (val && props?.multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value' } = optionProps;\r\n // 默认值\r\n const { defaultValues } = props;\r\n if (defaultValues) {\r\n data[property] = defaultValues;\r\n }\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n const parm = { item, row: data, property };\r\n events?.change && events.change(parm);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.onClear && events.onClear({ data, field: property });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">{item[label]}</span>\r\n <span class=\"su-coSelect-option\">{item[value]}</span>\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 创建一个简单的超链接渲染\r\nVXETable.renderer.add('#tag', {\r\n // 默认显示模板\r\n renderDefault(renderOpts, params) {\r\n const { row, column } = params;\r\n const {\r\n props: { code, tagMap }\r\n } = renderOpts;\r\n function getTagType() {\r\n return row[column.field] ? tagMap[row[column.field]] : '';\r\n }\r\n return [\r\n row[column.field] ? <el-tag type={getTagType()}>{getValue(code, row[column.field])}</el-tag> : null\r\n ];\r\n }\r\n});\r\n\r\nconst dictStr = sessionStorage.getItem('kLov')\r\nconst dataDict = dictStr && toStringJSON(dictStr)\r\n\r\nfunction getValue(code, value) {\r\n if (!value || !code) return value;\r\n return dataDict[code]?.children?.find(item => item.dictCode === value)?.dictName;\r\n}\r\n"],"names":["serviceApi","inject","VXETable","renderer","add","renderItemContent","renderOpts","params","data","property","options","props","optionProps","events","label","value","extLabel","code","fetchField","extParam","loading","query","param","Object","assign","pageSize","pageNum","res","length","push","list","val","fieldMap","item","find","option","keys","values","forEach","key","idx","change","clear","remoteMethod","_createVNode","_resolveComponent","_mergeProps","onFocus","v","onChange","onClear","map","t","useI18n","type","renderEdit","row","column","multiple","defaultValue","field","isArray","split","ff","isExit","some","s","renderCell","textValue","eval","join","opt","defaultValues","parm","renderDefault","tagMap","getTagType","getValue","dictStr","sessionStorage","getItem","dataDict","toStringJSON","children","dictCode","dictName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"su-utils.es.js","sources":["../lib/render.tsx"],"sourcesContent":["/*\r\n * @Author: wei.li\r\n * @Date: 2021-12-01 09:18:50\r\n * @LastEditors: wei.li\r\n * @LastEditTime: 2022-06-30 10:08:46\r\n * @Description: file content\r\n */\r\n\r\nimport { useI18n } from 'vue-i18n';\r\nimport { inject } from 'vue';\r\n// import serviceApi from '/@/api';\r\n// import { useSystemStoreHook } from '/@/store/modules/system';\r\nimport { isArray, toStringJSON } from 'xe-utils';\r\nimport { VXETable, FormItemRenderOptions, FormItemContentRenderParams, VxeColumnPropTypes } from 'vxe-table';\r\n\r\n// const systemStoreHook = useSystemStoreHook();\r\n\r\nconst serviceApi: Function = inject('serviceApi')\r\n\r\n// form render\r\nVXETable.renderer.add('#SuSelect', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false } = props;\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, { [fetchField]: query });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n res && options.push(...res.list);\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(val, item, data, property);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.clear && events.clear({ data, property });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n placeholder=\"请录入关键字搜索\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 时间范围\r\nVXETable.renderer.add('#SuDateRange', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { props } = renderOpts;\r\n const { t } = useI18n();\r\n return [\r\n <el-date-picker\r\n v-model={data[property]}\r\n type={props?.type || 'daterange'}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n range-separator={t('message.to')}\r\n start-placeholder={t('message.startDate')}\r\n end-placeholder={t('message.endDate')}\r\n />\r\n ];\r\n }\r\n});\r\n// table Col\r\nVXETable.renderer.add('#SuColSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\nVXETable.renderer.add('#SuSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n \r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n if (props.multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n\r\n function onChange(val) {\r\n const item = val && options.find(option => val === option[value]);\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n filterable\r\n clearable\r\n {...props}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option\r\n key={item[value]}\r\n label={item[extLabel] ? item[value] : item[label]}\r\n value={item[value]}\r\n >\r\n <span style=\"float: left\">\r\n {extLabel && item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props, options, optionProps } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { textValue } = props;\r\n let val = row[column.field];\r\n const item = options.find(opt => opt[value] === val);\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (item) {\r\n val = extLabel ? item[value] : item[label];\r\n }\r\n if (val && props?.multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value' } = optionProps;\r\n // 默认值\r\n const { defaultValues } = props;\r\n if (defaultValues) {\r\n data[property] = defaultValues;\r\n }\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n const parm = { item, row: data, property };\r\n events?.change && events.change(parm);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.onClear && events.onClear({ data, field: property });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">{item[label]}</span>\r\n <span class=\"su-coSelect-option\">{item[value]}</span>\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 创建一个简单的超链接渲染\r\nVXETable.renderer.add('#tag', {\r\n // 默认显示模板\r\n renderDefault(renderOpts, params) {\r\n const { row, column } = params;\r\n const {\r\n props: { code, tagMap }\r\n } = renderOpts;\r\n function getTagType() {\r\n return row[column.field] ? tagMap[row[column.field]] : '';\r\n }\r\n return [\r\n row[column.field] ? <el-tag type={getTagType()}>{getValue(code, row[column.field])}</el-tag> : null\r\n ];\r\n }\r\n});\r\n\r\nconst dictStr = sessionStorage.getItem('kLov')\r\nconst dataDict = dictStr && toStringJSON(dictStr)\r\n\r\nfunction getValue(code, value) {\r\n if (!value || !code) return value;\r\n return dataDict[code]?.children?.find(item => item.dictCode === value)?.dictName;\r\n}\r\n"],"names":["serviceApi","inject","VXETable","renderer","add","renderItemContent","renderOpts","params","data","property","options","props","optionProps","events","label","value","extLabel","code","fetchField","extParam","loading","query","param","Object","assign","pageSize","pageNum","res","length","push","list","val","fieldMap","item","find","option","keys","values","forEach","key","idx","change","clear","remoteMethod","_createVNode","_resolveComponent","_mergeProps","onFocus","v","onChange","onClear","map","t","useI18n","type","renderEdit","row","column","multiple","defaultValue","field","isArray","split","ff","isExit","some","s","renderCell","textValue","eval","join","opt","defaultValues","parm","renderDefault","tagMap","getTagType","getValue","dictStr","sessionStorage","getItem","dataDict","toStringJSON","children","dictCode","dictName"],"mappings":"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"}
|
package/dist/su-utils.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"su-utils.umd.js","sources":["../src/lib/render.tsx"],"sourcesContent":["/*\r\n * @Author: wei.li\r\n * @Date: 2021-12-01 09:18:50\r\n * @LastEditors: wei.li\r\n * @LastEditTime: 2022-06-30 10:08:46\r\n * @Description: file content\r\n */\r\n\r\nimport { useI18n } from 'vue-i18n';\r\nimport { inject } from 'vue';\r\n// import serviceApi from '/@/api';\r\n// import { useSystemStoreHook } from '/@/store/modules/system';\r\nimport { isArray, toStringJSON } from 'xe-utils';\r\nimport { VXETable, FormItemRenderOptions, FormItemContentRenderParams, VxeColumnPropTypes } from 'vxe-table';\r\n\r\n// const systemStoreHook = useSystemStoreHook();\r\n\r\nconst serviceApi: Function = inject('serviceApi')\r\n\r\n// form render\r\nVXETable.renderer.add('#SuSelect', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false } = props;\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, { [fetchField]: query });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n res && options.push(...res.list);\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(val, item, data, property);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.clear && events.clear({ data, property });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n placeholder=\"请录入关键字搜索\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 时间范围\r\nVXETable.renderer.add('#SuDateRange', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { props } = renderOpts;\r\n const { t } = useI18n();\r\n return [\r\n <el-date-picker\r\n v-model={data[property]}\r\n type={props?.type || 'daterange'}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n range-separator={t('message.to')}\r\n start-placeholder={t('message.startDate')}\r\n end-placeholder={t('message.endDate')}\r\n />\r\n ];\r\n }\r\n});\r\n// table Col\r\nVXETable.renderer.add('#SuColSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\nVXETable.renderer.add('#SuSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n \r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n if (props.multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n\r\n function onChange(val) {\r\n const item = val && options.find(option => val === option[value]);\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n filterable\r\n clearable\r\n {...props}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option\r\n key={item[value]}\r\n label={item[extLabel] ? item[value] : item[label]}\r\n value={item[value]}\r\n >\r\n <span style=\"float: left\">\r\n {extLabel && item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props, options, optionProps } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { textValue } = props;\r\n let val = row[column.field];\r\n const item = options.find(opt => opt[value] === val);\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (item) {\r\n val = extLabel ? item[value] : item[label];\r\n }\r\n if (val && props?.multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value' } = optionProps;\r\n // 默认值\r\n const { defaultValues } = props;\r\n if (defaultValues) {\r\n data[property] = defaultValues;\r\n }\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n const parm = { item, row: data, property };\r\n events?.change && events.change(parm);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.onClear && events.onClear({ data, field: property });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">{item[label]}</span>\r\n <span class=\"su-coSelect-option\">{item[value]}</span>\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 创建一个简单的超链接渲染\r\nVXETable.renderer.add('#tag', {\r\n // 默认显示模板\r\n renderDefault(renderOpts, params) {\r\n const { row, column } = params;\r\n const {\r\n props: { code, tagMap }\r\n } = renderOpts;\r\n function getTagType() {\r\n return row[column.field] ? tagMap[row[column.field]] : '';\r\n }\r\n return [\r\n row[column.field] ? <el-tag type={getTagType()}>{getValue(code, row[column.field])}</el-tag> : null\r\n ];\r\n }\r\n});\r\n\r\nconst dictStr = sessionStorage.getItem('kLov')\r\nconst dataDict = dictStr && toStringJSON(dictStr)\r\n\r\nfunction getValue(code, value) {\r\n if (!value || !code) return value;\r\n return dataDict[code]?.children?.find(item => item.dictCode === value)?.dictName;\r\n}\r\n"],"names":["serviceApi","inject","VXETable","renderer","add","renderItemContent","renderOpts","params","data","property","options","props","optionProps","events","label","value","extLabel","code","fetchField","extParam","loading","query","param","Object","assign","pageSize","pageNum","res","length","push","list","val","fieldMap","item","find","option","keys","values","forEach","key","idx","change","clear","remoteMethod","_createVNode","_resolveComponent","_mergeProps","onFocus","v","onChange","onClear","map","t","useI18n","type","renderEdit","row","column","multiple","defaultValue","field","isArray","split","ff","some","s","renderCell","textValue","eval","join","opt","defaultValues","parm","renderDefault","tagMap","getTagType","getValue","dictStr","sessionStorage","getItem","dataDict","toStringJSON","children","dictCode","dictName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"su-utils.umd.js","sources":["../lib/render.tsx"],"sourcesContent":["/*\r\n * @Author: wei.li\r\n * @Date: 2021-12-01 09:18:50\r\n * @LastEditors: wei.li\r\n * @LastEditTime: 2022-06-30 10:08:46\r\n * @Description: file content\r\n */\r\n\r\nimport { useI18n } from 'vue-i18n';\r\nimport { inject } from 'vue';\r\n// import serviceApi from '/@/api';\r\n// import { useSystemStoreHook } from '/@/store/modules/system';\r\nimport { isArray, toStringJSON } from 'xe-utils';\r\nimport { VXETable, FormItemRenderOptions, FormItemContentRenderParams, VxeColumnPropTypes } from 'vxe-table';\r\n\r\n// const systemStoreHook = useSystemStoreHook();\r\n\r\nconst serviceApi: Function = inject('serviceApi')\r\n\r\n// form render\r\nVXETable.renderer.add('#SuSelect', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false } = props;\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, { [fetchField]: query });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n res && options.push(...res.list);\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(val, item, data, property);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.clear && events.clear({ data, property });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n placeholder=\"请录入关键字搜索\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 时间范围\r\nVXETable.renderer.add('#SuDateRange', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { props } = renderOpts;\r\n const { t } = useI18n();\r\n return [\r\n <el-date-picker\r\n v-model={data[property]}\r\n type={props?.type || 'daterange'}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n range-separator={t('message.to')}\r\n start-placeholder={t('message.startDate')}\r\n end-placeholder={t('message.endDate')}\r\n />\r\n ];\r\n }\r\n});\r\n// table Col\r\nVXETable.renderer.add('#SuColSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\nVXETable.renderer.add('#SuSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n \r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n if (props.multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n\r\n function onChange(val) {\r\n const item = val && options.find(option => val === option[value]);\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n filterable\r\n clearable\r\n {...props}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option\r\n key={item[value]}\r\n label={item[extLabel] ? item[value] : item[label]}\r\n value={item[value]}\r\n >\r\n <span style=\"float: left\">\r\n {extLabel && item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props, options, optionProps } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { textValue } = props;\r\n let val = row[column.field];\r\n const item = options.find(opt => opt[value] === val);\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (item) {\r\n val = extLabel ? item[value] : item[label];\r\n }\r\n if (val && props?.multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value' } = optionProps;\r\n // 默认值\r\n const { defaultValues } = props;\r\n if (defaultValues) {\r\n data[property] = defaultValues;\r\n }\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n const parm = { item, row: data, property };\r\n events?.change && events.change(parm);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.onClear && events.onClear({ data, field: property });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">{item[label]}</span>\r\n <span class=\"su-coSelect-option\">{item[value]}</span>\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 创建一个简单的超链接渲染\r\nVXETable.renderer.add('#tag', {\r\n // 默认显示模板\r\n renderDefault(renderOpts, params) {\r\n const { row, column } = params;\r\n const {\r\n props: { code, tagMap }\r\n } = renderOpts;\r\n function getTagType() {\r\n return row[column.field] ? tagMap[row[column.field]] : '';\r\n }\r\n return [\r\n row[column.field] ? <el-tag type={getTagType()}>{getValue(code, row[column.field])}</el-tag> : null\r\n ];\r\n }\r\n});\r\n\r\nconst dictStr = sessionStorage.getItem('kLov')\r\nconst dataDict = dictStr && toStringJSON(dictStr)\r\n\r\nfunction getValue(code, value) {\r\n if (!value || !code) return value;\r\n return dataDict[code]?.children?.find(item => item.dictCode === value)?.dictName;\r\n}\r\n"],"names":["serviceApi","inject","VXETable","renderer","add","renderItemContent","renderOpts","params","data","property","options","props","optionProps","events","label","value","extLabel","code","fetchField","extParam","loading","query","param","Object","assign","pageSize","pageNum","res","length","push","list","val","fieldMap","item","find","option","keys","values","forEach","key","idx","change","clear","remoteMethod","_createVNode","_resolveComponent","_mergeProps","onFocus","v","onChange","onClear","map","t","useI18n","type","renderEdit","row","column","multiple","defaultValue","field","isArray","split","ff","some","s","renderCell","textValue","eval","join","opt","defaultValues","parm","renderDefault","tagMap","getTagType","getValue","dictStr","sessionStorage","getItem","dataDict","toStringJSON","children","dictCode","dictName"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@utogether/utils",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.2",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
7
7
|
],
|
|
8
8
|
"main": "./dist/su-utils.umd.js",
|
|
9
|
-
"module": "./dist/su-utils.
|
|
9
|
+
"module": "./dist/su-utils.umd.js",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
|
-
"import": "./dist/su-utils.
|
|
12
|
+
"import": "./dist/su-utils.umd.js",
|
|
13
13
|
"require": "./dist/su-utils.umd.js"
|
|
14
14
|
}
|
|
15
15
|
},
|