diff --git a/src/api/longInsurance/index.js b/src/api/longInsurance/index.js new file mode 100644 index 0000000..cff5d8d --- /dev/null +++ b/src/api/longInsurance/index.js @@ -0,0 +1,34 @@ +import request from "@/utils/request"; + +export function getList(params,isLoading=true){ + return request({ + method:'get', + url:'/api/admin/long-insurance/get-list', + params, + isLoading + }) +} + +export function getForm(id,params){ + return request({ + method:'get', + url:`/api/admin/long-insurance/get-form/${id}`, + params + }) +} + +export function save(data){ + return request({ + method:'post', + url:'/api/admin/long-insurance/save', + data + }) +} + +export function destroy(id,data){ + return request({ + method:'post', + url:`/api/admin/long-insurance/delete/${id}`, + data + }) +} diff --git a/src/permission.js b/src/permission.js index 28c91fc..fa5164e 100644 --- a/src/permission.js +++ b/src/permission.js @@ -12,6 +12,7 @@ NProgress.configure({ showSpinner: false }) // NProgress Configuration const whiteList = ['/login'] // no redirect whitelist router.beforeEach(async(to, from, next) => { + console.log(from.path,to.path) // start progress bar NProgress.start() diff --git a/src/views/bigSreen/component/addDataManage.vue b/src/views/bigSreen/component/addDataManage.vue index b1355e5..41bff9a 100644 --- a/src/views/bigSreen/component/addDataManage.vue +++ b/src/views/bigSreen/component/addDataManage.vue @@ -92,46 +92,57 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -226,6 +237,22 @@ export default { // } }, + + copyText (text) { + const input = document.createElement("input"); + input.setAttribute("readonly", "readonly"); // 设置为只读, 防止在 ios 下拉起键盘 + input.value = text; + document.body.appendChild(input); + input.setSelectionRange(0, 9999); // 防止 ios 下没有全选内容而无法复制 + input.select(); + document.execCommand("copy"); + document.body.removeChild(input); + this.$message({ + type: "success", + message: `已复制:${input.value}`, + }); + }, + async getDetail() { const res = await detail(this.id); this.$integrateData(this.form, res); diff --git a/src/views/customer/component/longInsuranceDetail.vue b/src/views/customer/component/longInsuranceDetail.vue new file mode 100644 index 0000000..be99a15 --- /dev/null +++ b/src/views/customer/component/longInsuranceDetail.vue @@ -0,0 +1,195 @@ + + + + + diff --git a/src/views/customer/customer.vue b/src/views/customer/customer.vue index e54854f..b1e09f8 100644 --- a/src/views/customer/customer.vue +++ b/src/views/customer/customer.vue @@ -204,6 +204,7 @@ @refresh="getCustomers" > + @@ -218,12 +219,14 @@ import { getAuthAreas, getAuthTypes } from "@/utils/auth"; import addCustomer from "@/views/customer/component/addCustomer"; import addOrder from "./component/addOrder"; -import imports from "./component/imports.vue" +import imports from "./component/imports.vue"; +import longInsuranceDetail from './component/longInsuranceDetail.vue' export default { components: { addCustomer, addOrder, - imports + imports, + longInsuranceDetail }, data() { return { @@ -393,6 +396,147 @@ export default { ); }, }, + { + prop: "long_insurances", + width: 140, + label: "长护险回访数", + customFn: row => { + return ( + +
+
+ 已回访 +
+
+ {row.long_insurances?.length ?? 0} +
+
+ + { + let arr = [ + { + label: "90分以上", + value: 1 + }, + { + label: "80-90分", + value: 2 + }, + { + label: "80分以下", + value: 3 + }, + ] + return h('span', arr.find(i => i.value === row.satisfy)?.label) + } + }, + { + key: 'nurse_investigate', + title: '护理员护理情况调查', + width: 180, + render: (h, {row}) => { + let arr = [ + { + label: "护理中回访", + value: 1 + }, + { + label: "日常回访", + value: 2 + }, + ] + return h('span', arr.find(i => i.value === row.nurse_investigate)?.label) + } + }, + { + key: 'is_work', + title: '是否在岗', + width: 120, + align: 'center', + render: (h, {row}) => { + return h('span', row.is_work ? '是' : '否') + } + }, + { + key: 'is_on_time', + title: '按照排班时间上门服务', + width: 120, + align: 'center', + render: (h, {row}) => { + return h('span', row.is_on_time ? '是' : '否') + } + }, + { + key: 'accessory', + title: '是否有工作证、工作服', + width: 160, + align: 'center', + }, + { + key: 'tools', + title: '护理工具携带', + width: 180 + }, + { + key: 'serve', + title: '服务内容', + width: 180 + }, + { + key: 'other', + title: '其他需求', + width: 180 + }, + { + key: 'tip', + title: '建议', + minWidth: 180 + }, + { + key: 'operate', + title: '查看', + align: 'center', + fixed: 'right', + width: 100, + render: (h ,{ row }) => h('Button',{ + props: { + type: "primary", + size: 'small', + }, + on: { + click: _ => { + this.$refs['longInsuranceDetail'].setId(row.id) + this.$refs['longInsuranceDetail'].show() + } + } + },'查看') + + } + ]} + data={row.long_insurances}> +
+
+ ) + } + }, { prop: "idcard", label: "身份证号", @@ -572,6 +716,24 @@ export default { ::v-deep .el-table-column--selection .cell { padding-right: 10px; } +.sku{ + &-item{ + border: 1px solid $primaryColor; + border-radius: 4px; + + margin-bottom: 4px; + margin-right: 6px; + &__name{ + background: $primaryColor; + color:#fff; + + padding: 0 4px; + } + &__time{ + + } + } +}