|
|
@@ -4,7 +4,25 @@
|
|
|
服务信息
|
|
|
</view>
|
|
|
<up-form :model="form" labelWidth="70" ref="uFormRef">
|
|
|
- <up-form-item v-if="form.isonlinesales" label="指定服务商">
|
|
|
+ <up-form-item v-if="form.isonlinesales || userType == 1" label="是否补贴" prop="isallowance">
|
|
|
+ <up-radio-group v-model="form.isallowance">
|
|
|
+ <up-radio :customStyle="{ marginLeft: '12px' }"
|
|
|
+ v-for="(item) in [{ label: '补贴', value: 1 }, { label: '不补贴', value: 0 }]" :key="item.value"
|
|
|
+ :label="item.label" :name="item.value">
|
|
|
+ </up-radio>
|
|
|
+ </up-radio-group>
|
|
|
+ </up-form-item>
|
|
|
+
|
|
|
+ <up-form-item v-if="userType == 1" label="网销工单" prop="isonlinesales">
|
|
|
+ <up-radio-group v-model="form.isonlinesales">
|
|
|
+ <up-radio :customStyle="{ marginLeft: '12px' }"
|
|
|
+ v-for="(item) in [{ label: '是', value: 1 }, { label: '否', value: 0 }]" :key="item.value"
|
|
|
+ :label="item.label" :name="item.value">
|
|
|
+ </up-radio>
|
|
|
+ </up-radio-group>
|
|
|
+ </up-form-item>
|
|
|
+
|
|
|
+ <up-form-item v-if="form.isonlinesales || userType == 1" label="指定服务商">
|
|
|
<view class="picker" hover-class="navigator-hover" @click="selectServiceProvider">
|
|
|
{{ serviceProviders.name || '选择指定的服务商进行服务' }}
|
|
|
</view>
|
|
|
@@ -47,13 +65,26 @@
|
|
|
</up-input>
|
|
|
</up-form-item>
|
|
|
|
|
|
- <up-form-item label="联系人" :required="rules.scenecontact[0].required" prop="scenecontact">
|
|
|
- <up-input v-model="form.scenecontact" placeholder="联系人" clearable />
|
|
|
+ <up-form-item label="保修状态" v-if="userType == 1" prop="warrantystatus">
|
|
|
+ <up-radio-group v-model="form.warrantystatus">
|
|
|
+ <up-radio :customStyle="{ marginLeft: '12px' }" v-for="(item) in [{ label: '保内' }, { label: '保外' }]"
|
|
|
+ :key="item.label" :label="item.label" :name="item.label">
|
|
|
+ </up-radio>
|
|
|
+ </up-radio-group>
|
|
|
+ </up-form-item>
|
|
|
+
|
|
|
+ <up-form-item label="客户名称" :required="rules.scenecontact[0].required" prop="scenecontact">
|
|
|
+ <up-input v-model="form.scenecontact" placeholder="客户名称" clearable />
|
|
|
</up-form-item>
|
|
|
|
|
|
<up-form-item label="手机号" :required="rules.scenecontactphonenumber[0].required"
|
|
|
prop="scenecontactphonenumber">
|
|
|
- <up-input type="number" v-model="form.scenecontactphonenumber" placeholder="联系人电话" clearable />
|
|
|
+ <up-input type="number" v-model="form.scenecontactphonenumber" placeholder="联系人电话" clearable>
|
|
|
+ <template #suffix>
|
|
|
+ <up-button type="success" :disabled="!form.scenecontactphonenumber" size="mini" text="查询带入客户信息"
|
|
|
+ @click="phonenumberConfirm" />
|
|
|
+ </template>
|
|
|
+ </up-input>
|
|
|
</up-form-item>
|
|
|
|
|
|
<up-form-item label="省市县" :required="rules.province[0].required" prop="province">
|
|
|
@@ -102,6 +133,29 @@
|
|
|
<view style="height: 30px;" />
|
|
|
</scroll-view>
|
|
|
</up-popup>
|
|
|
+
|
|
|
+ <up-popup :show="customers.length" @close="closeCustomers" :customStyle="{
|
|
|
+ width: '80vw',
|
|
|
+ }" mode="right">
|
|
|
+ <scroll-view :safeAreaInsetBottom="false" scroll-y style="width: 100%;height: 100vh;">
|
|
|
+ <view class="product" v-for="item in customers" :key="item.sa_customersid" hover-class="navigator-hover"
|
|
|
+ @click="selectCustomer(item)">
|
|
|
+ <view class="itemname">
|
|
|
+ {{ item.name }}
|
|
|
+ </view>
|
|
|
+ <view class="row">
|
|
|
+ 手机号: {{ item.phonenumber || '--' }}
|
|
|
+ </view>
|
|
|
+ <view class="row">
|
|
|
+ 搜索项: {{ item.province + item.city + item.county || '--' }}
|
|
|
+ </view>
|
|
|
+ <view class="row">
|
|
|
+ 详细地址: {{ item.address || '--' }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view style="height: 30px;" />
|
|
|
+ </scroll-view>
|
|
|
+ </up-popup>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
@@ -109,6 +163,8 @@ import { ref, reactive, getCurrentInstance } from 'vue';
|
|
|
const { $Http } = getCurrentInstance().proxy;
|
|
|
import { onShow, onLoad } from '@dcloudio/uni-app';
|
|
|
|
|
|
+const userType = ref(uni.getStorageSync('userMsg').usertype || 0);
|
|
|
+
|
|
|
const uFormRef = ref(null);
|
|
|
const form = reactive({
|
|
|
sa_serviceorderid: 0,
|
|
|
@@ -134,6 +190,8 @@ const form = reactive({
|
|
|
customerphonenumber: "", // 客户电话
|
|
|
sa_customersid: 0,
|
|
|
isonlinesales: 0, // 是否网销客户
|
|
|
+ isallowance: 0, // 是否补贴
|
|
|
+ warrantystatus: "", // 保修状态
|
|
|
});
|
|
|
|
|
|
//服务商
|
|
|
@@ -173,6 +231,54 @@ $Http.basic({
|
|
|
}
|
|
|
})
|
|
|
|
|
|
+let customers = ref([]); // 客户列表
|
|
|
+
|
|
|
+function phonenumberConfirm() {
|
|
|
+ $Http.basic({
|
|
|
+ "id": 2025121118401503,
|
|
|
+ "content": {
|
|
|
+ "nocache": true,
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 10, "where": { "phonenumber": form.scenecontactphonenumber }
|
|
|
+ }
|
|
|
+ }).then(res => {
|
|
|
+ console.log("根据电话查询客户信息", res)
|
|
|
+ if (res.code !== 1) {
|
|
|
+ return uni.showToast({ title: res.msg, icon: 'none' });
|
|
|
+ }
|
|
|
+ if (res.data.length === 0) {
|
|
|
+ return uni.showToast({ title: '未查询到对应的客户信息', icon: 'none' });
|
|
|
+ } else if (res.data.length === 1) {
|
|
|
+ selectCustomer(res.data[0]);
|
|
|
+ } else {
|
|
|
+ customers.value = res.data;
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+function closeCustomers() {
|
|
|
+ customers.value = [];
|
|
|
+}
|
|
|
+
|
|
|
+function selectCustomer(item) {
|
|
|
+ let list = ['name', 'phonenumber', 'province', 'city', 'county', 'sa_customersid', 'address'];
|
|
|
+ list.forEach(key => {
|
|
|
+ if (key == 'name') {
|
|
|
+ form['customername'] = item[key] || form['customername'] || '';
|
|
|
+ form['scenecontact'] = item[key] || form['scenecontact'] || '';
|
|
|
+ } else if (key == 'phonenumber') {
|
|
|
+ form['customerphonenumber'] = item[key] || form['customerphonenumber'] || '';
|
|
|
+ form['scenecontactphonenumber'] = item[key] || form['scenecontactphonenumber'] || '';
|
|
|
+ } else if (['province', 'city', 'county'].includes(key)) {
|
|
|
+ form[key] = item[key] || form[key] || '';
|
|
|
+ } else {
|
|
|
+ form[key] = item[key] || '';
|
|
|
+ }
|
|
|
+ });
|
|
|
+ uni.showToast({ title: '客户信息已带入', icon: 'none' });
|
|
|
+ closeCustomers();
|
|
|
+}
|
|
|
+
|
|
|
const rules = reactive({
|
|
|
servicetype: [{ required: true, message: '请选择服务类型', trigger: 'change' }],
|
|
|
class1: [{ required: true, message: '请选择产品品类', trigger: 'change' }],
|
|
|
@@ -382,20 +488,19 @@ function closePopup() {
|
|
|
products.value = [];
|
|
|
}
|
|
|
function changeItem(item) {
|
|
|
- let list = ['sku', 'cardno', 'itemid', 'itemname', 'itemno', 'sa_customersid', 'address', 'province', 'city', 'county'];
|
|
|
+ let list = ['sku', 'cardno', 'itemid', 'name', 'phonenumber', 'itemname', 'province', 'city', 'county', 'itemno', 'sa_customersid', 'address', 'warrantystatus'];
|
|
|
list.forEach(key => {
|
|
|
- // 'name', 'phonenumber',
|
|
|
- // if (key == 'name') {
|
|
|
- // form['customername'] = item[key] || '';
|
|
|
- // form['scenecontact'] = item[key] || '';
|
|
|
- // } else if (key == 'phonenumber') {
|
|
|
- // form['customerphonenumber'] = item[key] || '';
|
|
|
- // form['scenecontactphonenumber'] = item[key] || '';
|
|
|
- // } else {
|
|
|
- // }
|
|
|
-
|
|
|
- form[key] = item[key] || '';
|
|
|
-
|
|
|
+ if (key == 'name') {
|
|
|
+ form['customername'] = item[key] || form['customername'] || '';
|
|
|
+ form['scenecontact'] = item[key] || form['scenecontact'] || '';
|
|
|
+ } else if (key == 'phonenumber') {
|
|
|
+ form['customerphonenumber'] = item[key] || form['customerphonenumber'] || '';
|
|
|
+ form['scenecontactphonenumber'] = item[key] || form['scenecontactphonenumber'] || '';
|
|
|
+ } else if (['province', 'city', 'county'].includes(key)) {
|
|
|
+ form[key] = item[key] || form[key] || '';
|
|
|
+ } else {
|
|
|
+ form[key] = item[key] || '';
|
|
|
+ }
|
|
|
});
|
|
|
querySkuing = false;
|
|
|
console.log("选择产品", form);
|